#ifndef GAME_H_
#define GAME_H_
#include "Constants.h"
#include "Cube.h"
#include "CubePile.h"
#include "Input.h"
#include "CubeEmitter.h"
#include "TextureLoader.h"
#include "Cursor.h"
#include "Camera.h"
#include "UserInterface.h"
#include "Sound.h"
#include <vector>

class Game
{
	bool events();
	void render();
	void animate(float timeD);
	void main_loop_function();
	void collisions(float timeD);
	
	CubePile * cubePiles[GRID_SIZE][GRID_SIZE];
	Cursor * cursor;
	Camera * camera;
	Input input;
	CubeEmitter * cubeEmitter;
	UserInterface userInterface;
	TextureLoader textureLoader;
	Sound * sound;
public:
	Game();
	virtual ~Game();
	void run();
};

#endif /*GAME_H_*/
